<?php
namespace ImiApp\Module\Member\Service\Base;

use Imi\Model\Model;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Table;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\Entity;

/**
 * 课程详细信息 基类
 * @Entity
 * @Table(name="sc_jigou_class_data", id={"id"})
 * @DDL("CREATE TABLE `sc_jigou_class_data` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `class_id` int(10) unsigned DEFAULT NULL COMMENT '课程id',
  `title` varchar(50) DEFAULT NULL COMMENT '课程标题',
  `description` varchar(255) DEFAULT NULL COMMENT '课程简介',
  `content` text COMMENT '内容介绍',
  `createtime` int(10) DEFAULT NULL COMMENT '创建时间',
  `s_time` int(10) DEFAULT NULL COMMENT '开始上课时间',
  `e_time` int(10) DEFAULT NULL COMMENT '课程结束时间',
  `weigh` int(10) unsigned DEFAULT NULL COMMENT '权重',
  `admin_id` int(10) DEFAULT NULL,
  `work_status` enum('1','2') DEFAULT '1' COMMENT '作业状态:1=暂未布置,2=已布置',
  `team_id` int(10) DEFAULT NULL COMMENT '班级id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='课程详细信息'")
 * @property int $id 
 * @property int $classId 课程id
 * @property string $title 课程标题
 * @property string $description 课程简介
 * @property string $content 内容介绍
 * @property int $createtime 创建时间
 * @property int $sTime 开始上课时间
 * @property int $eTime 课程结束时间
 * @property int $weigh 权重
 * @property int $adminId 
 * @property string $workStatus 作业状态:1=暂未布置,2=已布置
 * @property int $teamId 班级id
 */
abstract class ScJigouClassDataBase extends Model
{
    /**
     * id
     * @Column(name="id", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true)
     * @var int
     */
    protected $id;

    /**
     * 获取 id
     *
     * @return int
     */ 
    public function getId()
    {
        return $this->id;
    }

    /**
     * 赋值 id
     * @param int $id id
     * @return static
     */ 
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * 课程id
     * class_id
     * @Column(name="class_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $classId;

    /**
     * 获取 classId - 课程id
     *
     * @return int
     */ 
    public function getClassId()
    {
        return $this->classId;
    }

    /**
     * 赋值 classId - 课程id
     * @param int $classId class_id
     * @return static
     */ 
    public function setClassId($classId)
    {
        $this->classId = $classId;
        return $this;
    }

    /**
     * 课程标题
     * title
     * @Column(name="title", type="varchar", length=50, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $title;

    /**
     * 获取 title - 课程标题
     *
     * @return string
     */ 
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * 赋值 title - 课程标题
     * @param string $title title
     * @return static
     */ 
    public function setTitle($title)
    {
        $this->title = $title;
        return $this;
    }

    /**
     * 课程简介
     * description
     * @Column(name="description", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $description;

    /**
     * 获取 description - 课程简介
     *
     * @return string
     */ 
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * 赋值 description - 课程简介
     * @param string $description description
     * @return static
     */ 
    public function setDescription($description)
    {
        $this->description = $description;
        return $this;
    }

    /**
     * 内容介绍
     * content
     * @Column(name="content", type="text", length=0, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $content;

    /**
     * 获取 content - 内容介绍
     *
     * @return string
     */ 
    public function getContent()
    {
        return $this->content;
    }

    /**
     * 赋值 content - 内容介绍
     * @param string $content content
     * @return static
     */ 
    public function setContent($content)
    {
        $this->content = $content;
        return $this;
    }

    /**
     * 创建时间
     * createtime
     * @Column(name="createtime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $createtime;

    /**
     * 获取 createtime - 创建时间
     *
     * @return int
     */ 
    public function getCreatetime()
    {
        return $this->createtime;
    }

    /**
     * 赋值 createtime - 创建时间
     * @param int $createtime createtime
     * @return static
     */ 
    public function setCreatetime($createtime)
    {
        $this->createtime = $createtime;
        return $this;
    }

    /**
     * 开始上课时间
     * s_time
     * @Column(name="s_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $sTime;

    /**
     * 获取 sTime - 开始上课时间
     *
     * @return int
     */ 
    public function getSTime()
    {
        return $this->sTime;
    }

    /**
     * 赋值 sTime - 开始上课时间
     * @param int $sTime s_time
     * @return static
     */ 
    public function setSTime($sTime)
    {
        $this->sTime = $sTime;
        return $this;
    }

    /**
     * 课程结束时间
     * e_time
     * @Column(name="e_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $eTime;

    /**
     * 获取 eTime - 课程结束时间
     *
     * @return int
     */ 
    public function getETime()
    {
        return $this->eTime;
    }

    /**
     * 赋值 eTime - 课程结束时间
     * @param int $eTime e_time
     * @return static
     */ 
    public function setETime($eTime)
    {
        $this->eTime = $eTime;
        return $this;
    }

    /**
     * 权重
     * weigh
     * @Column(name="weigh", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $weigh;

    /**
     * 获取 weigh - 权重
     *
     * @return int
     */ 
    public function getWeigh()
    {
        return $this->weigh;
    }

    /**
     * 赋值 weigh - 权重
     * @param int $weigh weigh
     * @return static
     */ 
    public function setWeigh($weigh)
    {
        $this->weigh = $weigh;
        return $this;
    }

    /**
     * admin_id
     * @Column(name="admin_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $adminId;

    /**
     * 获取 adminId
     *
     * @return int
     */ 
    public function getAdminId()
    {
        return $this->adminId;
    }

    /**
     * 赋值 adminId
     * @param int $adminId admin_id
     * @return static
     */ 
    public function setAdminId($adminId)
    {
        $this->adminId = $adminId;
        return $this;
    }

    /**
     * 作业状态:1=暂未布置,2=已布置
     * work_status
     * @Column(name="work_status", type="enum", length=0, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $workStatus;

    /**
     * 获取 workStatus - 作业状态:1=暂未布置,2=已布置
     *
     * @return string
     */ 
    public function getWorkStatus()
    {
        return $this->workStatus;
    }

    /**
     * 赋值 workStatus - 作业状态:1=暂未布置,2=已布置
     * @param string $workStatus work_status
     * @return static
     */ 
    public function setWorkStatus($workStatus)
    {
        $this->workStatus = $workStatus;
        return $this;
    }

    /**
     * 班级id
     * team_id
     * @Column(name="team_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $teamId;

    /**
     * 获取 teamId - 班级id
     *
     * @return int
     */ 
    public function getTeamId()
    {
        return $this->teamId;
    }

    /**
     * 赋值 teamId - 班级id
     * @param int $teamId team_id
     * @return static
     */ 
    public function setTeamId($teamId)
    {
        $this->teamId = $teamId;
        return $this;
    }

}
